Arch Fence/ru

THIS COMMAND IS PART OF THE INTEGRATED BIM WORKBENCH IN V1.0
This page has been updated for that version.

Ограждение

Расположение в меню
Arch → Ограждение
Верстаки
Arch
Быстрые клавиши
Нет
Представлено в версии
0.19
См. также
Нет

Описание

The Arch Fence is an object that builds a fence by repeating a single fence post and section along a given path.

Применение

Creating from scratch

  1. Use a workbench of your choice to create a single fence post and a single section.
  2. Create the path the fence should follow using the Sketcher Workbench or Draft Workbench.
  3. Switch back to the BIM Workbench.
  4. Select the section, post and path in exactly that order.
  5. Press the Fence button

Опции

For now the tool assumes the following

  1. The Path is drawn on the XY-Plane
  2. Section and Post are drawn at the origin so that they stand upright in front view

Свойства

Данные

Вид

Примечания

Программирование

The Fence tool can be used in macros and from the Python console by using the following function:

Fence = buildFence(section, post, path)

Пример:

import FreeCAD
import Part
import Arch

parts = []

parts.append(Part.makeBox(2000, 50, 30, FreeCAD.Vector(0, 0, 1000 - 30)))
parts.append(Part.makeBox(2000, 50, 30))
parts.append(Part.makeBox(20, 20, 1000 - 60, FreeCAD.Vector(0, 15, 30)))
parts.append(Part.makeBox(20, 20, 1000 - 60, FreeCAD.Vector(1980, 15, 30)))

for i in range(8):
    parts.append(Part.makeBox(20, 20, 1000 - 60, FreeCAD.Vector((2000 / 9 * (i + 1)) - 10, 15, 30)))

Part.show(Part.makeCompound(parts), "Fence_section")
fence_section = FreeCAD.ActiveDocument.Fence_section

sketch = FreeCAD.ActiveDocument.addObject("Sketcher::SketchObject", "Path")
sketch.Placement = FreeCAD.Placement(FreeCAD.Vector(0, 0, 0), FreeCAD.Rotation(0, 0, 0, 1))
sketch.addGeometry(Part.LineSegment(FreeCAD.Vector(0, 0, 0), FreeCAD.Vector(20000, 0, 0)), False)
sketch.addGeometry(Part.LineSegment(FreeCAD.Vector(20000, 0, 0), FreeCAD.Vector(20000, 20000, 0)), False)

post = Part.makeBox(100, 100, 1000, FreeCAD.Vector(0, 0, 0))
Part.show(post, "Post")
post = FreeCAD.ActiveDocument.Post

Fence = Arch.buildFence(fence_section, post, sketch)